package com.blackandwhitesensation.sice.modelo;
// Generated 14-jul-2012 17:16:34 by Zathura powered by Hibernate Tools 3.2.4.GA


import java.util.Date;
import javax.persistence.AttributeOverride;
import javax.persistence.AttributeOverrides;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.JoinColumns;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

/**
 * IngresoEvento generated by Zathura powered by Hibernate-tools(hbm2java)
 */
@Entity
@Table(name="ingreso_evento"
    ,schema="public"
)
public class IngresoEvento  implements java.io.Serializable {


     private IngresoEventoId id;
     private UsuarioSistema usuarioSistema;
     private Membresia membresia;
     private Evento evento;
     private Date fechaIngreso;

    public IngresoEvento() {
    }

    public IngresoEvento(IngresoEventoId id, UsuarioSistema usuarioSistema, Membresia membresia, Evento evento, Date fechaIngreso) {
       this.id = id;
       this.usuarioSistema = usuarioSistema;
       this.membresia = membresia;
       this.evento = evento;
       this.fechaIngreso = fechaIngreso;
    }
   
     @EmbeddedId

    
    @AttributeOverrides( {
        @AttributeOverride(name="numeroTarjeta", column=@Column(name="numero_tarjeta", nullable=false, precision=131089, scale=0) ), 
        @AttributeOverride(name="alias", column=@Column(name="alias", nullable=false, length=200) ), 
        @AttributeOverride(name="idEvento", column=@Column(name="id_evento", nullable=false, precision=131089, scale=0) ) } )
    public IngresoEventoId getId() {
        return this.id;
    }
    
    public void setId(IngresoEventoId id) {
        this.id = id;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="id_usuario_sistema", nullable=false)
    public UsuarioSistema getUsuarioSistema() {
        return this.usuarioSistema;
    }
    
    public void setUsuarioSistema(UsuarioSistema usuarioSistema) {
        this.usuarioSistema = usuarioSistema;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumns( { 
        @JoinColumn(name="numero_tarjeta", referencedColumnName="numero_tarjeta", nullable=false, insertable=false, updatable=false), 
        @JoinColumn(name="alias", referencedColumnName="alias", nullable=false, insertable=false, updatable=false) } )
    public Membresia getMembresia() {
        return this.membresia;
    }
    
    public void setMembresia(Membresia membresia) {
        this.membresia = membresia;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="id_evento", nullable=false, insertable=false, updatable=false)
    public Evento getEvento() {
        return this.evento;
    }
    
    public void setEvento(Evento evento) {
        this.evento = evento;
    }

    
    @Column(name="fecha_ingreso", nullable=false, length=29)
    public Date getFechaIngreso() {
        return this.fechaIngreso;
    }
    
    public void setFechaIngreso(Date fechaIngreso) {
        this.fechaIngreso = fechaIngreso;
    }




}


